#ifndef __SE_SOCKETIO_HPP__
#define __SE_SOCKETIO_HPP__

namespace se {

class Socket;

// 套接字输入输出类
class SocketIO {
public:
    explicit SocketIO(const Socket &socket);

    /**
     * @brief 传输数据
     * 
     * @param buffer 
     * @param length 
     * @return int 返回成功写入的字节数 
     */
    int write(const char *buffer, int length);

    /**
     * @brief 接收数据
     * 
     * @param buffer 
     * @param length 
     * @return int 返回成功读取的字节数
     */
    int read(char *buffer, int length);

private:
    const Socket &_socket;  // 套接口

};

}  // namespace se

#endif